import unittest
import time
from tool.HTMLTestRunnerCN import HTMLTestReportCN  # 中文报告模块

# 2. 生成测试套件(TestSuite/TestLoader)
suite = unittest.TestSuite()
# suite.addTest(unittest.makeSuite(TestLogin))
suite.addTest(unittest.makeSuite(TestEmployees))

# 批量文件
# suite = unittest.defaultTestLoader.discover('./case', 'hm*')

# 3. 设置报告文件的存放目录和文件名
report_name = "./report/report-{}.html".format(time.strftime("%Y%m%d-%H%M%S"))

# 4. 打开报告文件
# 注意: wb : 以二进制形式写入内容(报告生成过程完全是程序执行, 不是读取文本文件内容写入到新文件操作)
with open(report_name, 'wb') as f:
    # 5. 实例报告生成对象
    # 报告生成对象常用参数说明
    """
    必传参数:
    stream : 指定写入报告文件对象
    可选参数: 
    verbosity: 负责控制台测试结果输出模式(默认1: 简要模式, 可选2: 详细模式)
    title: 修改生成的报告文件内容标题
    description: 测试环境描述信息
    # 中文报告模板专用参数:
    tester : 测试人员
    """
    runner = HTMLTestReportCN(stream=f,
                              verbosity=2,
                              title='测试报告',
                              description='测试环境: Python 3.6.4',
                              tester='QA')
    # 6. 调用测试套件执行方法, 生成测试报告
    runner.run(suite)
